home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
short23.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
38KB
|
1,796 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "short.h"
/*No:ONCE_RESULT.us_result*/
/*No:ONCE_RESULT.start_position*/
T0* r142add_comment(T142* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r142to_integer(T142* C){
T2 R=0;
r142error((C)->_start_position/*4*/,((T0*)ms12_45846));
return R;
}
T0* r142to_runnable(T142* C,T0* a1){
T0* R=NULL;
T0* _rt2=NULL;
T0* _rt1=NULL;
T0* _rf6=NULL;
R=(T0*)C;
_rf6=r59top_rf((T59*)(oBC11small_eiffel));
if(NULL!=(_rf6))switch(((T0*)_rf6)->id) {
case 340:
break;
default:
_rf6=NULL;
};/*[IF*/
if(((C)->_run_feature_6/*8*/)==((void*)(NULL))){
C->_run_feature_6=_rf6;
}
else{
_rt1=X46run_type((((T340*)_rf6))->_result_type/*40*/);
_rt2=X46run_type(((T340*)((C)->_run_feature_6/*8*/))->_result_type/*40*/);
/*[IF*/
if((X46run_time_mark(_rt1))!=((void*)(X46run_time_mark(_rt2)))){
r67add_position(X46start_position(_rt1));
r67add_position(X46start_position(_rt2));
r340fe_vffd7((T340*)((C)->_run_feature_6/*8*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:ONCE_RESULT.fz_iinaiv*/
/*No:ONCE_RESULT.result_type*/
void r142error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:ONCE_RESULT.precedence*/
/*No:ONCE_RESULT.make*/
/*No:ONCE_RESULT.bracketed_short*/
/*No:ONCE_RESULT.is_current*/
/*No:ONCE_RESULT.is_void*/
/*No:ONCE_RESULT.short_target*/
/*No:ONCE_RESULT.run_feature_6*/
/*No:ONCE_RESULT.short*/
/*No:ONCE_RESULT.atomic_precedence*/
/*No:FORMAL_GENERIC_ARG.start_position*/
void r43make(T43* C,T0* a1,T0* a2){
C->_name=a1;
C->_constraint=a2;
}
/*No:FORMAL_GENERIC_ARG.name*/
/*No:FORMAL_GENERIC_ARG.constraint*/
/*No:FORMAL_GENERIC_ARG.constrained*/
void r43short(T43* C){
r39a_class_name((T39*)(oBC11short_print),(C)->_name/*0*/);
/*[IF*/
if(/*(IRF4.7constrained*/((C)->_constraint/*4*/)!=(NULL)/*)*/){
r39hook_or((T39*)(oBC11short_print),((T0*)ms43_2850),((T0*)ms43_220));
X46short((C)->_constraint/*4*/);
}
/*FI]*/
}
/*No:INDEX_CLAUSE.tag*/
/*No:INDEX_CLAUSE.without_tag*/
void r306add_last(T306* C,T0* a1){
/*[IF*/
if(((C)->_list/*4*/)==((void*)(NULL))){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138with_capacity(n,4);
C->_list=(T0*)n;
}
}
/*FI]*/
X138add_last((C)->_list/*4*/,a1);
}
/*No:INDEX_CLAUSE.with_tag*/
/*No:INDEX_CLAUSE.list*/
/*No:TYPE_NATIVE_ARRAY.generic_list*/
T0* r251base_class(T251* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name/*4*/;
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r47base_class(((T47*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms46_37098);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67add_type((T0*)C,((T0*)ms12_47));
r67print_as_fatal_error((T67*)(oBC11eh));
}
/*FI]*/
return R;
}
/*No:TYPE_NATIVE_ARRAY.base_class_name*/
/*No:TYPE_NATIVE_ARRAY.start_position*/
/*No:TYPE_NATIVE_ARRAY.is_formal_generic*/
/*No:TYPE_NATIVE_ARRAY.used_as_reference*/
T6 r251is_a_in(T251* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if(((C)->_written_mark/*12*/)==((void*)(X46written_mark(a1)))){
R=1;
}
else{
_ct=(((T310*)a2))->_current_type/*0*/;
_t1=r251to_runnable(C,_ct);
_t2=X46to_runnable(a1,_ct);
/*[IF*/
if((X46run_time_mark(_t1))==((void*)(X46run_time_mark(_t2)))){
R=1;
}
else{
R=X46is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:TYPE_NATIVE_ARRAY.elements_type*/
T2 r251id(T251* C){
T2 R=0;
R=((T310*)(r251run_class(C)))->_id/*4*/;
return R;
}
/*No:TYPE_NATIVE_ARRAY.is_pointer*/
T0* r251look_up_for(T251* C,T0* a1,T0* a2){
T0* R=NULL;
R=r22look_up_for((T22*)(r251base_class(C)),a1,a2);
return R;
}
T0* r251to_runnable(T251* C,T0* a1){
T0* R=NULL;
T0* _rt=NULL;
T0* _et2=NULL;
T0* _et1=NULL;
_et1=/*(IRF4.6elements_type*/r249first(((T249*)((C)->_generic_list/*8*/)))/*)*/;
_et2=X46to_runnable(_et1,a1);
/*[IF*/
if((_et2)==((void*)(NULL))){
/*[IF*/
if((_et2)!=((void*)(NULL))){
r67add_position(X46start_position(_et2));
}
/*FI]*/
r67add_position(X46start_position(_et1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_28959);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
_et2=X46run_type(_et2);
/*[IF*/
if(((C)->_run_type/*16*/)==((void*)(NULL))){
R=(T0*)C;
/*[IF*/
if((_et2)==((void*)(_et1))){
C->_run_type=(T0*)C;
r251load_basic_features(C);
}
else{
{T251*n=malloc(sizeof(*n));
*n=M251;
r251make_runnable(n,/*(IRF4.6start_position*/(((T47*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,_et2);
C->_run_type=(T0*)n;
}
r251load_basic_features((T251*)((C)->_run_type/*16*/));
}
/*FI]*/
}
else if((_et2)==((void*)(_et1))){
R=(T0*)C;
}
else{
R=r251twin(C);
{T251*n=malloc(sizeof(*n));
*n=M251;
r251make_runnable(n,/*(IRF4.6start_position*/(((T47*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,_et2);
_rt=(T0*)n;
}
/*[IRF3.3set_run_type*/((((T251*)(((T251*)R))))->_run_type)=(_rt);
/*]*/
r251load_basic_features(((T251*)_rt));
}
/*FI]*/
return R;
}
void r251load_basic_features(T251* C){
T0* _rc=NULL;
T0* _rf=NULL;
T0* _et=NULL;
_rc=r251run_class(C);
r310set_at_run_time(((T310*)_rc));
_et=/*(IRF4.6elements_type*/r249first(((T249*)((C)->_generic_list/*8*/)))/*)*/;
/*[IF*/
if(X46is_expanded(_et)){
r310set_at_run_time((T310*)(X46run_class(_et)));
}
/*FI]*/
_rf=r310get_feature_with(((T310*)_rc),((T0*)ms13_1764));
_rf=r310get_feature_with(((T310*)_rc),((T0*)ms13_1053));
/*[IF*/
if((X46expanded_initializer(_et))!=((void*)(NULL))){
_rf=r310get_feature_with(((T310*)_rc),((T0*)ms13_13554));
}
/*FI]*/
}
/*No:TYPE_NATIVE_ARRAY.run_type*/
T0* r251run_class(T251* C){
T0* R=NULL;
/*[IF*/
if(r251is_run_type(C)){
R=r59run_class((C)->_run_type/*16*/);
}
/*FI]*/
return R;
}
/*No:TYPE_NATIVE_ARRAY.has_creation*/
/*No:TYPE_NATIVE_ARRAY.expanded_initializer*/
/*No:TYPE_NATIVE_ARRAY.us_clear_all*/
/*No:TYPE_NATIVE_ARRAY.us_item*/
/*No:TYPE_NATIVE_ARRAY.is_like_current*/
/*No:TYPE_NATIVE_ARRAY.is_boolean*/
/*No:TYPE_NATIVE_ARRAY.is_generic*/
void r251make_runnable(T251* C,T0* a1,T0* a2){
r251make(C,a1,a2);
C->_run_type=(T0*)C;
}
/*No:TYPE_NATIVE_ARRAY.is_bit*/
/*No:TYPE_NATIVE_ARRAY.is_real*/
T0* r251smallest_ancestor(T251* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X46run_type(a1);
/*[IF*/
if(X46is_a(_rto,(C)->_run_type/*16*/)){
R=_rto;
}
else if(r251is_a((T251*)((C)->_run_type/*16*/),_rto)){
R=(C)->_run_type/*16*/;
}
else{
R=r251type_any();
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
return R;
}
/*No:TYPE_NATIVE_ARRAY.is_any*/
/*No:TYPE_NATIVE_ARRAY.fatal_error*/
/*No:TYPE_NATIVE_ARRAY.set_run_type*/
T0* r251run_time_mark(T251* C){
T0* R=NULL;
/*[IF*/
if(r251is_run_type(C)){
R=((T251*)((C)->_run_type/*16*/))->_written_mark/*12*/;
}
/*FI]*/
return R;
}
T0* r251twin(T251* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T251*)R)=*C;
return R;
}
/*No:TYPE_NATIVE_ARRAY.is_expanded*/
/*No:TYPE_NATIVE_ARRAY.us_put*/
/*No:TYPE_NATIVE_ARRAY.is_basic_eiffel_expanded*/
T0* r251type_any(void){
if(fBC11type_any==0){
fBC11type_any=1;
{T247*n=malloc(sizeof(*n));
*n=M247;
r247make(n,NULL);
oBC11type_any=(T0*)n;
}
}
return oBC11type_any;}
void r251short_hook(T251* C){
r39a_class_name((T39*)(oBC11short_print),(C)->_base_class_name/*4*/);
r39hook_or((T39*)(oBC11short_print),((T0*)ms251_8610),((T0*)ms251_92));
X46short_hook(r249first((T249*)((C)->_generic_list/*8*/)));
r39hook_or((T39*)(oBC11short_print),((T0*)ms251_10664),((T0*)ms251_94));
}
/*No:TYPE_NATIVE_ARRAY.us_native_array*/
/*No:TYPE_NATIVE_ARRAY.is_string*/
/*No:TYPE_NATIVE_ARRAY.is_integer*/
/*No:TYPE_NATIVE_ARRAY.is_like_feature*/
/*No:TYPE_NATIVE_ARRAY.fz_dot*/
/*No:TYPE_NATIVE_ARRAY.is_anchored*/
T6 r251is_a(T251* C,T0* a1){
T6 R=0;
R=(r251run_time_mark(C))==((void*)(X46run_time_mark(a1)));
/*[IF*/
if(!(R)){
r67add_type((T0*)C,((T0*)ms12_17730));
r67add_type(a1,((T0*)ms12_47));
}
/*FI]*/
return R;
}
T6 r251is_run_type(T251* C){
T6 R=0;
T0* _et=NULL;
/*[IF*/
if(((C)->_run_type/*16*/)!=((void*)(NULL))){
R=1;
}
else{
_et=/*(IRF4.6elements_type*/r249first(((T249*)((C)->_generic_list/*8*/)))/*)*/;
/*[IF*/
if((X46is_run_type(_et))&&((X46run_type(_et))==((void*)(_et)))){
C->_run_type=(T0*)C;
r251load_basic_features(C);
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:TYPE_NATIVE_ARRAY.is_character*/
/*No:TYPE_NATIVE_ARRAY.is_reference*/
/*No:TYPE_NATIVE_ARRAY.written_mark*/
void r251make(T251* C,T0* a1,T0* a2){
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,((T0*)ms13_17628),a1);
C->_base_class_name=(T0*)n;
}
C->_generic_list=se_ma249(1,
a2);
r7copy((T7*)(((T0*)ms46_785024)),((T0*)ms13_17628));
r7extend((T7*)(((T0*)ms46_785024)),'\133');
r7append((T7*)(((T0*)ms46_785024)),X46written_mark(a2));
r7extend((T7*)(((T0*)ms46_785024)),'\135');
C->_written_mark=r78item(((T0*)ms46_785024));
}
/*No:TYPE_NATIVE_ARRAY.is_none*/
/*No:TYPE_NATIVE_ARRAY.is_array*/
/*No:TYPE_NATIVE_ARRAY.fz_inako*/
/*No:TYPE_NATIVE_ARRAY.fz_bga*/
/*No:TYPE_NATIVE_ARRAY.is_like_argument*/
/*No:TYPE_NATIVE_ARRAY.tmp_string*/
/*No:TYPE_NATIVE_ARRAY.is_double*/
void r251short(T251* C){
r39hook((T39*)(oBC11short_print),((T0*)ms46_891));
r251short_hook(C);
r39hook((T39*)(oBC11short_print),((T0*)ms46_888));
}
T0* r255generic_list(T255* C){
T0* R=NULL;
r255fatal_error_generic_list(C);
return R;
}
T0* r255base_class(T255* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name/*4*/;
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r47base_class(((T47*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms46_37098);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67add_type((T0*)C,((T0*)ms12_47));
r67print_as_fatal_error((T67*)(oBC11eh));
}
/*FI]*/
return R;
}
/*No:TYPE_DOUBLE.base_class_name*/
/*No:TYPE_DOUBLE.start_position*/
/*No:TYPE_DOUBLE.is_formal_generic*/
int fBC255used_as_reference=0;
void r255used_as_reference(void){
if (fBC255used_as_reference==0){
fBC255used_as_reference=1;
r255load_ref(((T0*)ms13_10890));
}}
T6 r255is_a_in(T255* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r255written_mark())==((void*)(X46written_mark(a1)))){
R=1;
}
else{
_ct=(((T310*)a2))->_current_type/*0*/;
_t1=r255to_runnable(C,_ct);
_t2=X46to_runnable(a1,_ct);
/*[IF*/
if((X46run_time_mark(_t1))==((void*)(X46run_time_mark(_t2)))){
R=1;
}
else{
R=X46is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:TYPE_DOUBLE.id*/
/*No:TYPE_DOUBLE.is_pointer*/
T0* r255look_up_for(T255* C,T0* a1,T0* a2){
T0* R=NULL;
R=r22look_up_for((T22*)(r255base_class(C)),a1,a2);
return R;
}
T0* r255to_runnable(T255* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r255check_type(C);
return R;
}
/*No:TYPE_DOUBLE.us_double_ref*/
int fBC11type_double_ref=0;
T0*oBC11type_double_ref=NULL;
T0* r255type_double_ref(void){
if(fBC11type_double_ref==0){
T0* _double_ref=NULL;
fBC11type_double_ref=1;
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,((T0*)ms13_10890),NULL);
_double_ref=(T0*)n;
}
{T261*n=malloc(sizeof(*n));
*n=M261;
/*[IRF3.3make*/((((T261*)(n)))->_base_class_name)=(_double_ref);
/*]*/
oBC11type_double_ref=(T0*)n;
}
}
return oBC11type_double_ref;}
/*No:TYPE_DOUBLE.run_type*/
T0* r255run_class(T255* C){
T0* R=NULL;
R=r59run_class((T0*)C);
return R;
}
T6 r255has_creation(T255* C,T0* a1){
T6 R=0;
r67add_position(X77start_position(a1));
r255error(/*(IRF4.6start_position*/(((T47*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms253_100044));
return R;
}
/*No:TYPE_DOUBLE.expanded_initializer*/
/*No:TYPE_DOUBLE.us_item*/
/*No:TYPE_DOUBLE.is_like_current*/
/*No:TYPE_DOUBLE.is_boolean*/
/*No:TYPE_DOUBLE.is_generic*/
/*No:TYPE_DOUBLE.is_bit*/
/*No:TYPE_DOUBLE.is_real*/
T0* r255smallest_ancestor(T255* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X46run_type(a1);
/*[IF*/
if(X46is_integer(_rto)){
R=(T0*)C;
}
else if(X46is_real(_rto)){
R=(T0*)C;
}
else if(X46is_double(_rto)){
R=(T0*)C;
}
else{
R=r261smallest_ancestor((T261*)(r255type_double_ref()),_rto);
}
/*FI]*/
return R;
}
/*No:TYPE_DOUBLE.is_any*/
/*No:TYPE_DOUBLE.nb_errors*/
/*No:TYPE_DOUBLE.us_double*/
T0* r255run_time_mark(void){
T0* R=NULL;
R=((T0*)ms13_4818);
return R;
}
/*No:TYPE_DOUBLE.is_expanded*/
/*No:TYPE_DOUBLE.is_basic_eiffel_expanded*/
/*No:TYPE_DOUBLE.short_hook*/
/*No:TYPE_DOUBLE.is_string*/
/*No:TYPE_DOUBLE.is_integer*/
/*No:TYPE_DOUBLE.is_like_feature*/
/*No:TYPE_DOUBLE.fz_dot*/
/*No:TYPE_DOUBLE.is_anchored*/
/*No:TYPE_DOUBLE.is_run_type*/
T6 r255is_a(T255* C,T0* a1){
T6 R=0;
/*[IF*/
if(X46is_double(a1)){
R=1;
}
else if(r22is_subclass_of((T22*)(r255base_class(C)),X46base_class(a1))){
R=1;
r255used_as_reference();
}
/*FI]*/
/*[IF*/
if(!(R)){
r67add_type((T0*)C,((T0*)ms12_17730));
r67add_type(a1,((T0*)ms12_47));
}
/*FI]*/
return R;
}
/*No:TYPE_DOUBLE.is_character*/
/*No:TYPE_DOUBLE.is_reference*/
T0* r255written_mark(void){
T0* R=NULL;
R=((T0*)ms13_4818);
return R;
}
void r255error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
void r255make(T255* C,T0* a1){
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,((T0*)ms13_4818),a1);
C->_base_class_name=(T0*)n;
}
}
/*No:TYPE_DOUBLE.is_none*/
/*No:TYPE_DOUBLE.is_array*/
/*No:TYPE_DOUBLE.fz_inako*/
void r255fatal_error_generic_list(T255* C){
r67add_type((T0*)C,((T0*)ms46_29184));
r67print_as_fatal_error((T67*)(oBC11eh));
}
/*No:TYPE_DOUBLE.is_like_argument*/
void r255load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,a1,NULL);
_cn=(T0*)n;
}
_rc=r22run_class((T22*)(r47base_class(((T47*)_cn))));
r310set_at_run_time(((T310*)_rc));
_rf=r310get_feature_with(((T310*)_rc),((T0*)ms13_1764));
}
int fBC255check_type=0;
void r255check_type(T255* C){
if (fBC255check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC255check_type=1;
_bc=r255base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
_rc=r255run_class(C);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(!((((T22*)_bc))->_is_expanded/*20*/)){
r255error(/*(IRF4.6start_position*/(((T47*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms255_35832));
}
/*FI]*/
}
/*FI]*/
}}
/*No:TYPE_DOUBLE.is_double*/
void r255short(T255* C){
r39hook((T39*)(oBC11short_print),((T0*)ms46_891));
/*[IRF3.6short_hook*/{T255* C1=C;
r39a_class_name((T39*)(oBC11short_print),(C1)->_base_class_name/*4*/);
}/*]*/
r39hook((T39*)(oBC11short_print),((T0*)ms46_888));
}
/*No:CST_ATT_DOUBLE.base_class*/
/*No:CST_ATT_DOUBLE.value_mem*/
T0* r200start_position(T200* C){
T0* R=NULL;
R=X77start_position(/*(IRF4.6first_name*/r79item(((T79*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r200is_merge_with(T200* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(/*(IRF4.1arguments*/NULL/*)*/),X87arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in(X87result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(X87arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r200merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_DOUBLE.first_name*/
/*No:CST_ATT_DOUBLE.em1*/
/*No:CST_ATT_DOUBLE.header_comment*/
/*No:CST_ATT_DOUBLE.names*/
/*No:CST_ATT_DOUBLE.result_type*/
/*No:CST_ATT_DOUBLE.code_require*/
/*No:CST_ATT_DOUBLE.make_e_feature*/
void r200add_into(T200* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r69base_class((T69*)(X77start_position(r79item((T79*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r79count((T79*)((C)->_names/*8*/))))) {
_fn=r79item((T79*)((C)->_names/*8*/),_i);
/*[IF*/
if(r86has(((T86*)a1),X77to_key(_fn))){
_fn=/*X87first_name*/((T0*)/*(IRF4.6first_name*/r79item(((T79*)(((T187*)(r86at(((T86*)a1),X77to_key(_fn))))->_names/*8*/)),1)/*)*/);
r67add_position(X77start_position(_fn));
r67add_position(X77start_position(r79item((T79*)((C)->_names/*8*/),_i)));
r67error((T67*)(oBC11eh),((T0*)ms87_41905));
/*[IRF3.6append*/{T0* b1=X77to_string(_fn);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
else{
r86put(((T86*)a1),(T0*)C,X77to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r200can_hide(T200* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
r67add_position(X87start_position(a1));
r200error(r200start_position(C),((T0*)ms87_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/r67add_position(X87start_position(a1));
r200error(r200start_position(C),((T0*)ms87_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms87_54285);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X46run_time_mark((((T310*)a2))->_current_type/*0*/);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r200merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_DOUBLE.ensure_assertion*/
T0* r200try_to_undefine(T200* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r67add_position(X77start_position(a1));
_fn2=r79feature_name((T79*)((C)->_names/*8*/),X77to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X77undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r200try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X270set_clients*//*[IRF3.3set_clients*/((((T273*)(((T273*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r200merge_header_comments(C,R);
}
else{
r22fatal_undefine(((T22*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_DOUBLE.is_deferred*/
/*No:CST_ATT_DOUBLE.set_clients*/
/*No:CST_ATT_DOUBLE.value*/
/*No:CST_ATT_DOUBLE.nb_errors*/
T0* r200to_run_feature(T200* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(a1);
R=r310at(((T310*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 326:
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T326*n=malloc(sizeof(*n));
*n=M326;
r326make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r200merge_header_comments(T200* C,T0* a1){
/*[IF*/
if(((T59*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/);
}
else if((/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X87set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_DOUBLE.arguments*/
/*No:CST_ATT_DOUBLE.require_assertion*/
T0* r200try_to_undefine_aux(T200* C,T0* a1,T0* a2){
T0* R=NULL;
r67add_position(r200start_position(C));
r200error(X77start_position(a1),((T0*)ms189_99414));
r22fatal_undefine(((T22*)a2),a1);
return R;
}
/*No:CST_ATT_DOUBLE.fz_dot*/
void r200error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
void r200make(T200* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T200*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
C->_value_mem=a3;
}
void r200collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r315fast_has((T315*)(oBC87require_collector),_er))){
r315add_last((T315*)(oBC87require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_DOUBLE.set_header_comment*/
/*No:CST_ATT_DOUBLE.clients*/
/*No:CST_ATT_UNIQUE.base_class*/
T0* r187start_position(T187* C){
T0* R=NULL;
R=X77start_position(/*(IRF4.6first_name*/r79item(((T79*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r187is_merge_with(T187* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(/*(IRF4.1arguments*/NULL/*)*/),X87arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in(X87result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(X87arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r187merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_UNIQUE.first_name*/
/*No:CST_ATT_UNIQUE.em1*/
/*No:CST_ATT_UNIQUE.header_comment*/
/*No:CST_ATT_UNIQUE.names*/
/*No:CST_ATT_UNIQUE.result_type*/
/*No:CST_ATT_UNIQUE.code_require*/
/*No:CST_ATT_UNIQUE.make_e_feature*/
void r187add_into(T187* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r69base_class((T69*)(X77start_position(r79item((T79*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r79count((T79*)((C)->_names/*8*/))))) {
_fn=r79item((T79*)((C)->_names/*8*/),_i);
/*[IF*/
if(r86has(((T86*)a1),X77to_key(_fn))){
_fn=/*X87first_name*/((T0*)/*(IRF4.6first_name*/r79item(((T79*)(((T187*)(r86at(((T86*)a1),X77to_key(_fn))))->_names/*8*/)),1)/*)*/);
r67add_position(X77start_position(_fn));
r67add_position(X77start_position(r79item((T79*)((C)->_names/*8*/),_i)));
r67error((T67*)(oBC11eh),((T0*)ms87_41905));
/*[IRF3.6append*/{T0* b1=X77to_string(_fn);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
else{
r86put(((T86*)a1),(T0*)C,X77to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r187can_hide(T187* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
r67add_position(X87start_position(a1));
r187error(r187start_position(C),((T0*)ms87_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/r67add_position(X87start_position(a1));
r187error(r187start_position(C),((T0*)ms87_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms87_54285);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X46run_time_mark((((T310*)a2))->_current_type/*0*/);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r187merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_UNIQUE.ensure_assertion*/
T0* r187try_to_undefine(T187* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r67add_position(X77start_position(a1));
_fn2=r79feature_name((T79*)((C)->_names/*8*/),X77to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X77undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r187try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X270set_clients*//*[IRF3.3set_clients*/((((T273*)(((T273*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r187merge_header_comments(C,R);
}
else{
r22fatal_undefine(((T22*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_UNIQUE.is_deferred*/
/*No:CST_ATT_UNIQUE.set_clients*/
/*No:CST_ATT_UNIQUE.value*/
/*No:CST_ATT_UNIQUE.nb_errors*/
T0* r187to_run_feature(T187* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(a1);
R=r310at(((T310*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 326:
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T326*n=malloc(sizeof(*n));
*n=M326;
r326make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r187merge_header_comments(T187* C,T0* a1){
/*[IF*/
if(((T59*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/);
}
else if((/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X87set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_UNIQUE.arguments*/
/*No:CST_ATT_UNIQUE.require_assertion*/
T0* r187try_to_undefine_aux(T187* C,T0* a1,T0* a2){
T0* R=NULL;
r67add_position(r187start_position(C));
r187error(X77start_position(a1),((T0*)ms189_99414));
r22fatal_undefine(((T22*)a2),a1);
return R;
}
/*No:CST_ATT_UNIQUE.fz_dot*/
T0*oBC187counter=NULL;
void r187error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
void r187make(T187* C,T0* a1,T0* a2){
T0* _ic=NULL;
T2 _i=0;
/*[IRF3.3make_e_feature*/((((T187*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
{T190*n=malloc(sizeof(*n));
*n=M190;
r190make(n,r79count((T79*)((C)->_names/*8*/)));
C->_values=(T0*)n;
}
_i=0;
while (!((_i)>(((T190*)((C)->_values/*24*/))->_upper/*12*/))) {
r192increment((T192*)(oBC187counter));
{T162*n=malloc(sizeof(*n));
*n=M162;
r162make(n,((T192*)(oBC187counter))->_value/*0*/,NULL);
_ic=(T0*)n;
}
/*[IRF3.5put*/(((T190*)((C)->_values/*24*/))->_storage/*4*/)[_i]=(_ic);
/*]*/
_i=(_i)+(1);
}
}
void r187collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r315fast_has((T315*)(oBC87require_collector),_er))){
r315add_last((T315*)(oBC87require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_UNIQUE.set_header_comment*/
/*No:CST_ATT_UNIQUE.values*/
/*No:CST_ATT_UNIQUE.clients*/
void r348register(T0* a1){
T2 _id=0;
_id=X46id(a1);
/*[IF*/
if(!(r349has((T349*)(oBC348manifest_array_types),_id))){
r349put((T349*)(oBC348manifest_array_types),a1,_id);
}
/*FI]*/
}
T0*oBC348manifest_array_types=NULL;
/*No:RUN_FEATURE_6.use_current_state*/
/*No:RUN_FEATURE_6.rescue_compound*/
/*No:RUN_FEATURE_6.actuals_clients*/
/*No:RUN_FEATURE_6.arguments*/
void r340fe_vffd7(T340* C){
r67add_position(X46start_position((C)->_result_type/*40*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms340_203984);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
void r340initialize(T340* C){
C->_result_type=((T292*)((C)->_base_feature/*32*/))->_result_type/*56*/;
C->_arguments=((T292*)((C)->_base_feature/*32*/))->_arguments/*24*/;
/*[IF*/
if(X46is_anchored((C)->_result_type/*40*/)){
r340fe_vffd7(C);
}
else if(X46is_formal_generic((C)->_result_type/*40*/)){
r67add_position(X46start_position((C)->_result_type/*40*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms340_321828);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
C->_result_type=X46to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
/*[IF*/
if(!(r175is_runnable((T175*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T175*n=malloc(sizeof(*n));
*n=M175;
r175with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
C->_local_vars=((T292*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
/*[IF*/
if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
C->_local_vars=r166to_runnable((T166*)((C)->_local_vars/*44*/),(C)->_current_type/*4*/);
}
/*FI]*/
C->_routine_body=((T292*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
/*[IF*/
if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
C->_routine_body=r204to_runnable((T204*)((C)->_routine_body/*48*/),(C)->_current_type/*4*/);
}
/*FI]*/
/*[IF*/
if(r73require_check((T73*)(oBC11run_control))){
C->_require_assertion=r292run_require((T0*)C);
}
/*FI]*/
/*[IF*/
if(r73ensure_check((T73*)(oBC11run_control))){
C->_ensure_assertion=r292run_ensure((T0*)C);
}
/*FI]*/
C->_rescue_compound=((T292*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.3set_used*/((((T334*)((T334*)(oBC11exceptions_handler))))->_used)=(1);
/*]*/
C->_rescue_compound=r204to_runnable((T204*)((C)->_rescue_compound/*52*/),(C)->_current_type/*4*/);
}
/*FI]*/
r337add_function((T0*)C);
}
T0* r340start_position(T340* C){
T0* R=NULL;
R=r292start_position((T292*)((C)->_base_feature/*32*/));
return R;
}
/*No:RUN_FEATURE_6.require_assertion*/
/*No:RUN_FEATURE_6.clients_memory*/
/*No:RUN_FEATURE_6.ucs_not_computed*/
/*No:RUN_FEATURE_6.current_type*/
void r340add_client(T340* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T321*n=malloc(sizeof(*n));
*n=M321;
r321with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r321fast_index_of((T321*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T321*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r310add_client((T310*)(r340run_class(C)),a1);
}
T0* r340run_class(T340* C){
T0* R=NULL;
R=X46run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_6.result_type*/
/*No:RUN_FEATURE_6.base_feature*/
/*No:RUN_FEATURE_6.ensure_assertion*/
void r340make(T340* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r317put(((T317*)(((T310*)(r340run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X77to_key(a2));
/*]*/
r59incr_magic_count((T59*)(oBC11small_eiffel));
C->_use_current_state=15;
r59push((T59*)(oBC11small_eiffel),(T0*)C);
r340initialize(C);
r59pop((T59*)(oBC11small_eiffel));
}
/*No:RUN_FEATURE_6.routine_body*/
/*No:RUN_FEATURE_6.name*/
/*No:RUN_FEATURE_6.local_vars*/
T2 r340arg_count(T340* C){
T2 R=0;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
R=/*(IRF4.6count*/(((T179*)(((T175*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
}
/*FI]*/
return R;
}
T0* r340clients(T340* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X46base_class((C)->_current_type/*4*/);
_bfbc=((T292*)((C)->_base_feature/*32*/))->_base_class/*4*/;
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=((T292*)((C)->_base_feature/*32*/))->_clients/*20*/;
}
else{
R=r22clients_for(((T22*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
T6 r340is_exported_in(T340* C,T0* a1){
T6 R=0;
R=r94gives_permission_to((T94*)(r340clients(C)),a1);
return R;
}
/*No:RUN_FEATURE_6.fatal_error*/
T0* r259generic_list(T259* C){
T0* R=NULL;
r259fatal_error_generic_list(C);
return R;
}
T0* r259base_class(T259* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name/*4*/;
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r47base_class(((T47*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms46_37098);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67add_type((T0*)C,((T0*)ms12_47));
r67print_as_fatal_error((T67*)(oBC11eh));
}
/*FI]*/
return R;
}
/*No:TYPE_REAL.base_class_name*/
/*No:TYPE_REAL.start_position*/
/*No:TYPE_REAL.is_formal_generic*/
int fBC259used_as_reference=0;
void r259used_as_reference(void){
if (fBC259used_as_reference==0){
fBC259used_as_reference=1;
r259load_ref(((T0*)ms13_7696));
}}
T6 r259is_a_in(T259* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r259written_mark())==((void*)(X46written_mark(a1)))){
R=1;
}
else{
_ct=(((T310*)a2))->_current_type/*0*/;
_t1=r259to_runnable(C,_ct);
_t2=X46to_runnable(a1,_ct);
/*[IF*/
if((X46run_time_mark(_t1))==((void*)(X46run_time_mark(_t2)))){
R=1;
}
else{
R=X46is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:TYPE_REAL.id*/
/*No:TYPE_REAL.is_pointer*/
T0* r259look_up_for(T259* C,T0* a1,T0* a2){
T0* R=NULL;
R=r22look_up_for((T22*)(r259base_class(C)),a1,a2);
return R;
}
/*No:TYPE_REAL.us_real_ref*/
T0* r259to_runnable(T259* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r259check_type(C);
return R;
}
/*No:TYPE_REAL.us_double_ref*/
/*No:TYPE_REAL.run_type*/
T0* r259run_class(T259* C){
T0* R=NULL;
R=r59run_class((T0*)C);
return R;
}
T6 r259has_creation(T259* C,T0* a1){
T6 R=0;
r67add_position(X77start_position(a1));
r259error(/*(IRF4.6start_position*/(((T47*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms253_100044));
return R;
}
/*No:TYPE_REAL.expanded_initializer*/
/*No:TYPE_REAL.us_item*/
/*No:TYPE_REAL.is_like_current*/
/*No:TYPE_REAL.is_boolean*/
/*No:TYPE_REAL.is_generic*/
/*No:TYPE_REAL.is_bit*/
/*No:TYPE_REAL.is_real*/
T0* r259smallest_ancestor(T259* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X46run_type(a1);
/*[IF*/
if(X46is_integer(_rto)){
R=(T0*)C;
}
else if(X46is_real(_rto)){
R=(T0*)C;
}
else if(X46is_double(_rto)){
R=a1;
}
else{
R=r261smallest_ancestor((T261*)(r259type_real_ref()),_rto);
}
/*FI]*/
return R;
}
/*No:TYPE_REAL.is_any*/
/*No:TYPE_REAL.nb_errors*/
T0* r259run_time_mark(void){
T0* R=NULL;
R=((T0*)ms13_1208);
return R;
}
/*No:TYPE_REAL.is_expanded*/
/*No:TYPE_REAL.is_basic_eiffel_expanded*/
/*No:TYPE_REAL.short_hook*/
int fBC11type_real_ref=0;
T0*oBC11type_real_ref=NULL;
T0* r259type_real_ref(void){
if(fBC11type_real_ref==0){
T0* _real_ref=NULL;
fBC11type_real_ref=1;
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,((T0*)ms13_7696),NULL);
_real_ref=(T0*)n;
}
{T261*n=malloc(sizeof(*n));
*n=M261;
/*[IRF3.3make*/((((T261*)(n)))->_base_class_name)=(_real_ref);
/*]*/
oBC11type_real_ref=(T0*)n;
}
}
return oBC11type_real_ref;}
int fBC11type_double=0;
T0*oBC11type_double=NULL;
T0* r259type_double(void){
if(fBC11type_double==0){
fBC11type_double=1;
{T255*n=malloc(sizeof(*n));
*n=M255;
r255make(n,NULL);
oBC11type_double=(T0*)n;
}
}
return oBC11type_double;}
/*No:TYPE_REAL.is_string*/
/*No:TYPE_REAL.is_integer*/
/*No:TYPE_REAL.is_like_feature*/
/*No:TYPE_REAL.fz_dot*/
/*No:TYPE_REAL.is_anchored*/
/*No:TYPE_REAL.is_run_type*/
T6 r259is_a(T259* C,T0* a1){
T6 R=0;
/*[IF*/
if((X46is_real(a1))||(X46is_double(a1))){
R=1;
}
else if(r22is_subclass_of((T22*)(r259base_class(C)),X46base_class(a1))){
R=1;
r259used_as_reference();
}
else if((X46run_time_mark(a1))==((void*)(((T0*)ms13_10890)))){
R=1;
((/*UT*/(void)((T255*)(r259type_double()))),r255used_as_reference());
}
/*FI]*/
/*[IF*/
if(!(R)){
r67add_type((T0*)C,((T0*)ms12_17730));
r67add_type(a1,((T0*)ms12_47));
}
/*FI]*/
return R;
}
/*No:TYPE_REAL.is_character*/
/*No:TYPE_REAL.is_reference*/
T0* r259written_mark(void){
T0* R=NULL;
R=((T0*)ms13_1208);
return R;
}
void r259error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
void r259make(T259* C,T0* a1){
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,((T0*)ms13_1208),a1);
C->_base_class_name=(T0*)n;
}
}
/*No:TYPE_REAL.is_none*/
/*No:TYPE_REAL.us_real*/
/*No:TYPE_REAL.is_array*/
/*No:TYPE_REAL.fz_inako*/
void r259fatal_error_generic_list(T259* C){
r67add_type((T0*)C,((T0*)ms46_29184));
r67print_as_fatal_error((T67*)(oBC11eh));
}
/*No:TYPE_REAL.is_like_argument*/
void r259load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,a1,NULL);
_cn=(T0*)n;
}
_rc=r22run_class((T22*)(r47base_class(((T47*)_cn))));
r310set_at_run_time(((T310*)_rc));
_rf=r310get_feature_with(((T310*)_rc),((T0*)ms13_1764));
}
int fBC259check_type=0;
void r259check_type(T259* C){
if (fBC259check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC259check_type=1;
_bc=r259base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
_rc=r259run_class(C);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(!((((T22*)_bc))->_is_expanded/*20*/)){
r259error(/*(IRF4.6start_position*/(((T47*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms259_29722));
}
/*FI]*/
}
/*FI]*/
}}
/*No:TYPE_REAL.is_double*/
void r259short(T259* C){
r39hook((T39*)(oBC11short_print),((T0*)ms46_891));
/*[IRF3.6short_hook*/{T259* C1=C;
r39a_class_name((T39*)(oBC11short_print),(C1)->_base_class_name/*4*/);
}/*]*/
r39hook((T39*)(oBC11short_print),((T0*)ms46_888));
}